home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Atari Compendium
/
The Atari Compendium (Toad Computers) (1994).iso
/
files
/
umich
/
utils
/
nroff~yu.zoo
/
tmac.s
< prev
Wrap
Text File
|
1992-07-03
|
18KB
|
831 lines
.\" @(*) tmac.s 1.10p5 91/2/24 rosenkra
.\" **************************************************************************
.\" partial -ms package for nroff. macros for simple paper/report formats
.\"
.\" usage: nroff -ms file [...]
.\" installed path: c:\lib\tmac\tmac.s (TMACDIR)
.\" user macros: TL, AU, AI, AB, AE, SH, NH, PP, LP, QP, XP, RS, RE,
.\" IP, I, B, R, IR, RI, BR, RB, IB, BI, XS, XA, XE
.\" extensions: TI, EX
.\" no-ops: PX
.\" debuging: }D
.\" internal macros: }R
.\" strings used: Q, U, -, CR, LF, RF, DW, MO, Dy, Da, Yr, dY, DY, TM,
.\" DA, CT, Xx
.\" registers used: A, B, C, D, E, F, G, H, I, J, K, M, O, P, Q, R, X, Z
.\" bugs: many features not implemented.
.\" IP does not place short tags on same line.
.\" table of contents stuff (XS,XA,XE,PX) kludgy.
.\" author: rosenkra@convex.com (Bill Rosenkranz)
.\" version: for ST nroff v1.10p5
.\" date: 91/2/24
.\" restrictions: none. freely distributable (no copyright, etc.)
.\" **************************************************************************
.\"
.\" control
.\"
.\" set this >0 to turn on debugging
.nr Z 0
.\" set M>0 for use with manpager(1), and then N>0 if SH and TL are to be bold
.nr M 1
.nr N 1
.\" set O>1 for page offset and line width oriented toward screen viewing
.nr O 1
.\"
.\" **************************************************************************
.\"
.\" some predefined strings (Quote, Unquote, dash, footer parts, etc):
.\"
.if \nM=0 \{\
. ds ' "'
. ds ` "'
. ds Q ""
. ds U ""
. ds - "--
\}
.if \nM>0 \{\
. ds ' "
'
. ds ` "
`
. ds Q "
!
. ds U "
"
.\" ds - "
-
. ds - "
å
\}
.ds CF "ImPoSsIbLe
.ds LF "\0
.ds RF "\0
.\"
.\" these are various predefined date and time strings
.\"
.\" DW day-of-week:
.if \n(dw=1 .ds DW "Sun
.if \n(dw=2 .ds DW "Mon
.if \n(dw=3 .ds DW "Tue
.if \n(dw=4 .ds DW "Wed
.if \n(dw=5 .ds DW "Thu
.if \n(dw=6 .ds DW "Fri
.if \n(dw=7 .ds DW "Sat
.\" MO month:
.if \n(mo=1 .ds MO "January
.if \n(mo=2 .ds MO "February
.if \n(mo=3 .ds MO "March
.if \n(mo=4 .ds MO "April
.if \n(mo=5 .ds MO "May
.if \n(mo=6 .ds MO "June
.if \n(mo=7 .ds MO "July
.if \n(mo=8 .ds MO "August
.if \n(mo=9 .ds MO "September
.if \n(mo=10 .ds MO "October
.if \n(mo=11 .ds MO "November
.if \n(mo=12 .ds MO "December
.\" make some composites:
.ds Dy "\*(MO \n(dy
.ds Da "\n(hh:\n(mm:\n(ss \n(mo/\n(dy/\n(yr
.ds Yr "19\n(yr
.ds dY "\*(Dy, \*(Yr
.ds DY "\n(dy \*(MO \*(Yr
.ds TM "\n(hh:\n(mm:\n(ss
.ds DA "\*(TM \*(DY
.ds CT "\*(DW \*(Dy \*(TM 19\n(yr
.\"
.\" they look like this:
.\"
.\" DW Sun
.\" MO March
.\" Dy March 4
.\" dY March 4, 1990
.\" DY 4 March 1990 <--- "normal" nroff form
.\" Yr 1990
.\" TM 16:34:00
.\" DA 16:34:00 March 4, 1990
.\" Da 16:34:00 2/4/90
.\" CT Sun March 4 16:34:00 1990 almost like ctime(2)
.\"
.\" **************************************************************************
.\"
.\" startup stuff...
.\"
.if \nO>0 .po 0.8i
.pl 66
.if \nO=0 \{\
. ll 6.0i
. lt 6.0i
\}
.if \nO>0 \{\
. ll 6.4i
. lt 6.4i
\}
.m1 3
.m2 2
.m3 3
.m4 3
.\" no header line on first page! (set back in AB, SH, NH, LP, PP, QP)
.tl ||||
.\" this is the default footer (date, centered) unless string CF is defined
.fo ||\*(DY||
.\" these are for NH numbering (up to 5 levels, a la sun, X holds level)
.nr A 0 1
.af A 1
.nr B 0 1
.af B 1
.nr C 0 1
.af C 1
.nr D 0 1
.af D 1
.nr E 0 1
.af E 1
.nr X 1 1
.nr P 0 1
.nr F 0 1
.nr G 0 1
.nr H 0 1
.nr I 0 1
.nr J 0 1
.nr K 0 1
.\"
.\" **************************************************************************
.\"
.\" MACROS...
.\"
.\" ---------------------------------------------------------------------- TL
.\" title for document (optional unless abstract)
.\"
.de TL
.sp 4
.ce 1000
.\" reset footer. you MUST define CF, even to blank, to get the others!
.if !"\*(CF"ImPoSsIbLe" .fo |\*(LF|\*(CF|\*(RF|
.if \nM>0 .if \nN>0 \&\fB
.\" flag bold...
.if \nM>0 .if \nN>0 .nr K 1
..
.\" ---------------------------------------------------------------------- AU
.\" author(s) (optional, requires .TL)
.\"
.de AU
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.sp 2
..
.\" ---------------------------------------------------------------------- AI
.\" author's institution (optional, requires .TL)
.\"
.de AI
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.sp 1
..
.\" ---------------------------------------------------------------------- AB
.\" abstract (optional, requires .TL, .AE)
.\"
.de AB
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.br
.sp 2
.\" check for arg to AB. can be "no" or something like "SUMMARY". if "no",
.\" no title above the abstract
.if !"$1"no" .if "$1"" ABSTRACT
.if !"$1"no" .if !"$1"" $1
.if !"$1"no" .sp 1
.\" set new line length...
.ce 0
.if \nO=0 \{\
. ll 5.0i
. in 0.5i
\}
.if \nO>0 \{\
. ll 5.4i
. in 0.5i
\}
.tl ||- % -||
..
.\" ---------------------------------------------------------------------- AE
.\" abstract end (optional, requires .TL)
.\"
.de AE
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.br
.sp 1
.\" reset...
.ce 0
.in 0.0i
.if \nO=0 \{\
. ll 6.0i
\}
.if \nO>0 \{\
. ll 6.4i
\}
..
.\" ----------------------------------------------------------------------- SH
.\" section heading, no number (optional)
.\"
.de SH
.{R
.if \nM>0 .if \nN>0 \&\fB
.\" flag bold...
.if \nM>0 .if \nN>0 .nr K 1
.\" section title goes here, fill mode only so far...
..
.\"
.\" subroutine for section head reset (SH and NH)
.de {R
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.br
.\" reset...
.nr P 0
.nr F 0 1
.nr G 0 1
.nr H 0 1
.nr I 0 1
.nr J 0 1
.if \nO=0 \{\
. ll 6.0i
\}
.if \nO>0 \{\
. ll 6.4i
\}
.in 0.0i
.tl ||- % -||
.\" see note in TL
.if !"\*(CF"ImPoSsIbLe" .fo |\*(LF|\*(CF|\*(RF|
.\" .br
.ce 0
.sp 2
.ne 4
..
.\" ---------------------------------------------------------------------- NH
.\" numbered section heading. arg (required) is the section level.
.\" this would be MUCH simpler if the .if command supported "{...}". there is
.\" a bug in nroff. i does not set the .$ number register correctly (number of
.\" args for the current macro). that is the reason why level 1 must be set.
.\"
.de NH
.{R
.\" if ".NH 0", reset numbering
.if $1=0 \{\
. nr A 1 1
. nr B 0 1
. nr C 0 1
. nr D 0 1
. nr E 0 1
. nr X 1 1
\}
.\" level 1 (two types here: ".NH" and ".NH 1"):
.\" once .$ num reg is fixed, these 5 should be: .if \n(.$=0 .nr A +1 etc.
.if "$1"" \{\
. nr A +1
. nr B 0 1
. nr C 0 1
. nr D 0 1
. nr E 0 1
. nr X 1 1
\}
.if "$1"1" \{\
. nr A +1
. nr B 0 1
. nr C 0 1
. nr D 0 1
. nr E 0 1
. nr X 1 1
\}
.\" level 2 (increment B, reset lower levels):
.if "$1"2" \{\
. nr B +1
. nr C 0 1
. nr D 0 1
. nr E 0 1
. nr X 2 1
\}
.\" level 3 (increment C, reset lower levels):
.if "$1"3" \{\
. nr C +1
. nr D 0 1
. nr E 0 1
. nr X 3 1
\}
.\" level 4 (increment D, reset lower levels):
.if "$1"4" \{\
. nr D +1
. nr E 0 1
. nr X 4 1
\}
.\" level 5 (increment E, no more lower levels!):
.if "$1"5" \{\
. nr E +1
. nr X 5 1
\}
.\" print out the section number now, depending on current level...
.if \nM>0 \{
. if \nN>0 .if \nX=1 \&\fB\nA.
. if \nN>0 .if \nX=2 \&\fB\nA.\nB.
. if \nN>0 .if \nX=3 \&\fB\nA.\nB.\nC.
. if \nN>0 .if \nX=4 \&\fB\nA.\nB.\nC.\nD.
. if \nN>0 .if \nX=5 \&\fB\nA.\nB.\nC.\nD.\nE.
.\" flag bold...
. if \nN>0 .nr K 1
\}
.if \nM=0 \{
. if \nX=1 \&\nA.
. if \nX=2 \&\nA.\nB.
. if \nX=3 \&\nA.\nB.\nC.
. if \nX=4 \&\nA.\nB.\nC.\nD.
. if \nX=5 \&\nA.\nB.\nC.\nD.\nE.
\}
.\" section title goes here...
..
.\" ----------------------------------------------------------------------- LP
.\" start a new left block paragraph (either .LP or .PP required)
.\"
.de LP
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.br
.\" reset...
.nr P 0
.nr F 0 1
.nr G 0 1
.nr H 0 1
.nr I 0 1
.nr J 0 1
.tl ||- % -||
.ce 0
.sp 1
.if \nO=0 \{\
. ll 6.0i
\}
.if \nO>0 \{\
. ll 6.4i
\}
.in 0.0i
..
.\" --------------------------------